<script>
	export default {
		onLaunch: function() {
			let that = this
			// #ifdef MP-WEIXIN || MP-TOUTIAO
			//是否开启小程序自动登录	881
			this.$u.get('/app/common/type/881').then(res => {
				if (res.code == 0 && res.data) {
					if (res.data.value == '是') {
						//没有登录的时候开始自动登录
						if (!uni.getStorageSync('token')) {
							uni.login({
								provider: 'weixin',
								success: function(loginRes) {
									console.log(loginRes, 'code')
									// #ifdef MP-WEIXIN
									let data = {
										code: loginRes.code
									}
									that.$Request.get('/app/Login/wxLogin', data).then(res => {
										if (res.code == 0 && res.data) {
											uni.setStorageSync('openId', res.data.open_id)
											uni.setStorageSync('unionId', res.data.unionId)
											uni.setStorageSync('sessionkey', res.data
												.session_key)

											let invitationCode = '';
											if (uni.getStorageSync('invitation')) {
												invitationCode = uni.getStorageSync(
													'invitation')
											}
											let qdCodeion = ''
											if (uni.getStorageSync('qdCodeion')) {
												qdCodeion = uni.getStorageSync('qdCodeion')
											}
											let sendData = {
												openId: uni.getStorageSync('openId'),
												unionId: uni.getStorageSync('unionId'),
												userName: '游客',
												avatar: '/static/images/logo.png',
												sex: 1, //性别
												inviterCode: invitationCode, //别人登录进来携带你的邀请码
												qdCode: qdCodeion
											};
											let postData = {
												openId: sendData.openId, //小程序openId
												unionId: sendData.unionId, //unionId
												userName: sendData.userName, //微信名称
												avatar: sendData.avatar, //头像
												sex: sendData.sex, //性别
												phone: '',
												inviterCode: sendData.inviterCode,
												qdCode: sendData.qdCode
											};
											that.$Request.postJson(
													'/app/Login/insertWxUser', postData)
												.then(
													res => {
														uni.hideLoading();
														if (res.code == 0) {
															uni.setStorageSync('token', res
																.token)
															uni.setStorageSync('userName',
																res.user.userName)
															uni.setStorageSync('avatar',
																res.user.avatar)
															uni.setStorageSync('phone', res
																.user.phone)
															uni.setStorageSync(
																'invitationCode', res
																.user
																.invitationCode)
															if (res.user.qdCode) {
																uni.setStorageSync(
																	'qdCode', res.user
																	.qdCode)
															}
															uni.setStorageSync('autoPrice',
																res.user.autoPrice)
															uni.setStorageSync('sex', res
																.user.sex)
															uni.setStorageSync('userId',
																res.user.userId)
															uni.setStorageSync('openId',
																res.user.openId)
															that.$u.api.userVip({
																userId: uni
																	.getStorageSync(
																		'userId')
															}).then(rest => {
																if (rest.code ==
																	0 && rest
																	.data && rest
																	.data.isVip ==
																	2) {
																	uni.setStorageSync(
																		'isVIP',
																		true)
																} else {
																	uni.setStorageSync(
																		'isVIP',
																		false)
																}
															})
														}
													})
										}
									})
									// #endif
									// #ifdef MP-TOUTIAO

									let data = {
										code: loginRes.code,
										anonymous_code: loginRes.anonymousCode
									}
									that.$Request.post('/app/Login/dyLogin', data).then(res => {
										if (res.code == 0) {
											let invitationCode = '';
											if (uni.getStorageSync('invitation')) {
												invitationCode = uni.getStorageSync(
													'invitation')
											}
											let qdCodeion = ''
											if (uni.getStorageSync('qdCodeion')) {
												qdCodeion = uni.getStorageSync('qdCodeion')
											}
											that.$Request.postJson(
												'/app/Login/dyRegister', {
													userName: '游客', //抖音名称
													avatar: '/static/images/logo.png', //头像
													sex: 1, //性别
													// phone: '',
													inviterCode: invitationCode,
													dyOpenId: res.data.dyOpenId,
													qdCode: qdCodeion
												}).then(ress => {
												uni.hideLoading()
												if (ress.code == 0) {
													uni.setStorageSync('token',
														ress.token)
													uni.setStorageSync('userName',
														ress.user.userName)
													uni.setStorageSync('avatar',
														ress.user.avatar)
													uni.setStorageSync('phone',
														ress.user.phone)
													uni.setStorageSync(
														'invitationCode', ress
														.user
														.invitationCode)
													if (ress.user.qdCode) {
														uni.setStorageSync(
															'qdCode', ress.user
															.qdCode)
													}
													uni.setStorageSync('sex', ress
														.user.sex)
													uni.setStorageSync('userId',
														ress.user.userId)
													uni.setStorageSync('openId',
														ress.user.dyOpenId)
													that.$u.api.userVip({
														userId: uni
															.getStorageSync(
																'userId')
													}).then(rest => {
														if (rest.code ==
															0 && rest
															.data && rest
															.data.isVip ==
															2) {
															uni.setStorageSync(
																'isVIP',
																true)
														} else {
															uni.setStorageSync(
																'isVIP',
																false)
														}
													})
												}

											})

										}
									})
									// #endif

									// #ifdef MP-KUAISHOU
									let data = {
										code: loginRes.code,
									}
									that.$Request.post('/app/Login/ksLogin', data).then(res => {
										if (res.code == 0) {
											let invitationCode = '';
											if (uni.getStorageSync('invitation')) {
												invitationCode = uni.getStorageSync(
													'invitation')
											}
											let qdCodeion = '';
											if (uni.getStorageSync('qdCodeion')) {
												qdCodeion = uni.getStorageSync('qdCodeion')
											}

											that.$Request.postJson(
												'/app/Login/ksRegister', {
													userName: '游客', //名称
													avatar: '/static/images/logo.png', //头像
													sex: 1, //性别
													// phone: '',
													inviterCode: invitationCode,
													ksOpenId: res.data.ksOpenId,
													qdCode: qdCodeion
												}).then(ress => {
												uni.hideLoading()
												if (ress.code == 0) {
													uni.setStorageSync('token',
														ress.token)
													uni.setStorageSync('userName',
														ress.user.userName)
													uni.setStorageSync('avatar',
														ress.user.avatar)
													uni.setStorageSync('phone',
														ress.user.phone)
													uni.setStorageSync(
														'invitationCode', ress
														.user
														.invitationCode)
													if (ress.user.qdCode) {
														uni.setStorageSync(
															'qdCode', ress.user
															.qdCode)
													}
													uni.setStorageSync('sex', ress
														.user.sex)
													uni.setStorageSync('userId',
														ress.user.userId)
													uni.setStorageSync('openId',
														ress.user.ksOpenId)
													that.$u.api.userVip({
														userId: uni
															.getStorageSync(
																'userId')
													}).then(rest => {
														if (rest.code ==
															0 && rest
															.data && rest
															.data.isVip ==
															2) {
															uni.setStorageSync(
																'isVIP',
																true)
														} else {
															uni.setStorageSync(
																'isVIP',
																false)
														}
													})
												}

											})
										}
									})
									// #endif
								}
							});
						}
					}
				}
			});
			// #endif








			setInterval(d => { //定时器，定时去调取聊天未读消息
				let userId = uni.getStorageSync('userId')
				if (userId) {
					this.$Request.getT('/app/message/selectMessageCount').then(res => {
						if (res.code === 0) {
							let num = res.data
							uni.setStorageSync('numCount', num)
							if (num == 0) {
								uni.removeTabBarBadge({
									index: 3
								})
							} else {
								uni.setTabBarBadge({
									index: 3,
									text: num + ''
								})
							}
						}
					});
				}
			}, 3000);
			//#ifdef H5

			this.$u.get('/app/common/type/108').then(res => { //// 是否开启公众号自动登陆 108
				if (res.code == 0 && res.data) {
					if (res.data.value == '是') {
						let ua = navigator.userAgent.toLowerCase();
						if (ua.indexOf('micromessenger') !== -1) {
							let openid = uni.getStorageSync('openId');
							let userId = uni.getStorageSync('userId');
							if (!userId) {
								if (openid) {
									that.$u.get('/app/Login/openid/login?openId=' + openid).then(
										res => {
											if (res.code == 0) {
												uni.setStorageSync('token', res.token)
												uni.setStorageSync('userId', res.user.userId)
												uni.setStorageSync('userName', res.user.userName)
												uni.setStorageSync('phone', res.user.phone)
												uni.setStorageSync('invitationCode', res.user
													.invitationCode)
											}
										});
								}
							}
						}
					}
				}
			});
			//#endif
			//#ifdef APP-PLUS
			// APP检测更新 具体打包流程可以参考：https://ask.dcloud.net.cn/article/35667
			plus.screen.lockOrientation('portrait-primary'); //竖屏正方向锁定
			//获取是否热更新过
			const updated = uni.getStorageSync('updated'); // 尝试读取storage
			if (updated.completed === true) {
				// 如果上次刚更新过
				// 删除安装包及安装记录
				console.log('安装记录被删除，更新成功');
				uni.removeSavedFile({
					filePath: updated.packgePath,
					success: res => {
						uni.removeStorageSync('updated');
					}
				});
			} else if (updated.completed === false) {
				uni.removeStorageSync('updated');
				plus.runtime.install(updated.packgePath, {
					force: true
				});
				uni.setStorage({
					key: 'updated',
					data: {
						completed: true,
						packgePath: updated.packgePath
					},
					success: res => {
						console.log('成功安装上次的更新，应用需要重启才能继续完成');
					}
				});
				uni.showModal({
					title: '温馨提示',
					content: '应用将重启以完成更新',
					showCancel: false,
					complete: () => {
						plus.runtime.restart();
					}
				});
			} else {
				//获取当前系统版本信息
				plus.runtime.getProperty(plus.runtime.appid, widgetInfo => {
					//请求后台接口 解析数据 对比版本
					that.$Request.getT('/app/user/selectNewApp').then(res => {
						res = res.data[0];
						if (res.wgtUrl && widgetInfo.version < res.version) {
							let downloadLink = '';
							let androidLink = res.androidWgtUrl;
							let iosLink = res.iosWgtUrl;
							let ready = false;
							//校验是是不是热更新
							if (res.wgtUrl.match(RegExp(/.wgt/))) {
								// 判断系统类型
								if (plus.os.name.toLowerCase() === 'android') {
									console.log('安卓系统');
									if (androidLink && androidLink !== '#') {
										// 我这里默认#也是没有地址，请根据业务自行修改
										console.log('发现下载地址');
										// 安卓：创建下载任务
										if (androidLink.match(RegExp(/.wgt/))) {
											console.log('确认wgt热更新包');
											downloadLink = androidLink;
											ready = true;
										} else {
											console.log('安卓推荐.wgt强制更新，.apk的强制更新请您自行修改程序');
										}
									} else {
										console.log('下载地址是空的，无法继续');
									}
								} else {
									console.log('苹果系统');
									if (iosLink && iosLink !== '#') {
										// 我这里默认#也是没有地址，请根据业务自行修改
										console.log('发现下载地址');
										// 苹果(A)：进行热更新（如果iosLink是wgt更新包的下载地址）判断文件名中是否含有.wgt
										if (iosLink.match(RegExp(/.wgt/))) {
											console.log('确认wgt热更新包');
											downloadLink = iosLink;
											ready = true;
										} else {
											console.log('苹果只支持.wgt强制更新');
										}
									} else {
										console.log('下载地址是空的，无法继续');
									}
								}
								if (ready) {
									console.log('任务开始');
									let downloadTask = uni.downloadFile({
										url: downloadLink,
										success: res => {
											if (res.statusCode === 200) {
												// 保存下载的安装包
												console.log('保存安装包');
												uni.saveFile({
													tempFilePath: res.tempFilePath,
													success: res => {
														const packgePath = res
															.savedFilePath;
														// 保存更新记录到stroage，下次启动app时安装更新
														uni.setStorage({
															key: 'updated',
															data: {
																completed: false,
																packgePath: packgePath
															},
															success: () => {
																console
																	.log(
																		'成功保存记录'
																	);
															}
														});
														// 任务完成，关闭下载任务
														console.log(
															'任务完成，关闭下载任务，下一次启动应用时将安装更新'
														);
														downloadTask.abort();
														downloadTask = null;
													}
												});
											}
										}
									});
								} else {
									console.log('下载地址未准备，无法开启下载任务');
								}
							} else {
								//不是热更新是在线更新 校验是否强制升级
								if (res.method == 'true') {
									uni.showModal({
										showCancel: false,
										confirmText: '立即更新',
										title: '发现新版本',
										content: res.des,
										success: res => {
											if (res.confirm) {
												that.$queue.showLoading('下载中...');
												if (uni.getSystemInfoSync().platform ==
													'android') {
													uni.downloadFile({
														url: androidLink,
														success: downloadResult => {
															if (downloadResult
																.statusCode ===
																200) {
																plus.runtime
																	.install(
																		downloadResult
																		.tempFilePath, {
																			force: false
																		},
																		d => {
																			console
																				.log(
																					'install success...'
																				);
																			plus.runtime
																				.restart();
																		},
																		e => {
																			console
																				.error(
																					'install fail...'
																				);
																		}
																	);
															}
														}
													});
												}
												if (uni.getSystemInfoSync().platform ==
													'ios') {
													plus.runtime.openURL(iosLink, function(
														res) {});
												}
											} else if (res.cancel) {
												console.log('取消');
											}
										}
									});
								} else {
									uni.showModal({
										title: '发现新版本',
										confirmText: '立即更新',
										cancelText: '下次更新',
										content: res.des,
										success: res => {
											if (res.confirm) {
												that.$queue.showLoading('下载中...');
												if (uni.getSystemInfoSync().platform ==
													'android') {
													uni.downloadFile({
														url: androidLink,
														success: downloadResult => {
															if (downloadResult
																.statusCode ===
																200) {
																plus.runtime
																	.install(
																		downloadResult
																		.tempFilePath, {
																			force: false
																		},
																		d => {
																			console
																				.log(
																					'install success...'
																				);
																			plus.runtime
																				.restart();
																		},
																		e => {
																			console
																				.error(
																					'install fail...'
																				);
																		}
																	);
															}
														}
													});
												}
												if (uni.getSystemInfoSync().platform ==
													'ios') {
													plus.runtime.openURL(iosLink, function(
														res) {});
												}
											} else if (res.cancel) {
												console.log('取消');
											}
										}
									});
								}
							}
						}
					});
				});
			}
			//#endif

		},
		onShow: function() {
			console.log('App Show')
			// #ifdef APP-PLUS
			let userId = uni.getStorageSync('userId')
			if (userId) {
				let clientid = plus.push.getClientInfo().clientid;
				let sysPhone = 1;
				if (plus.os.name.toLowerCase() === 'android') {
					sysPhone = 1;
				} else {
					sysPhone = 2;
				}
				this.$Request.getT('/app/user/updateClientId?clientId=' + clientid + '&userId=' +
					userId + '&sysPhone=' + sysPhone).then(res => {

				});
			}
			// #endif


			// this.$u.get('/app/common/type/109').then(res => { // 是否开启公众号自动注册 109
			// 	if (res.code == 0 && res.data) {
			// 		uni.setStorageSync('kefu', res.data.value)
			// 	}
			// });
			//微信小程序IOS系统支付功能开关	882
			this.$u.get('/app/common/type/882').then(res => {
				if (res.code == 0 && res.data) {
					let value = res.data.value
					const sysInfo = uni.getSystemInfoSync()
					// #ifdef MP-WEIXIN
					if (sysInfo.osName == 'ios') { //是ios系统
						if (value == '是') { //开启
							uni.setStorageSync('isWxIosPay', true)
						} else { //关闭
							uni.setStorageSync('isWxIosPay', false)
						}
					} else { //不是ios下，直接打开
						uni.setStorageSync('isWxIosPay', true)
					}
					// #endif
					//不在微信小程序也直接打开
					// #ifndef MP-WEIXIN
					uni.setStorageSync('isWxIosPay', true)
					// #endif
				}
			});
			//是否开启苹果登录	833
			this.$u.get('/app/common/type/833').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('checkIosLogin', res.data.value)
				}
			});
			//是否开启苹果支付	834
			this.$u.get('/app/common/type/834').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('checkIosPay', res.data.value)
				}
			});
			//是否开启微信登录	835
			this.$u.get('/app/common/type/835').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('checkWxLogin', res.data.value)
				}
			});
			//是否开启手机号一键登录	836
			this.$u.get('/app/common/type/836').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('checkPhoneLogin', res.data.value)
				}
			});
			this.$u.get('/app/common/type/817').then(res => { //是否开启购买整部视频	817
				if (res.code == 0 && res.data) {
					uni.setStorageSync('zhengbu', res.data.value)
				}
			});

			this.$u.get('/app/common/type/818').then(res => { //是否开启购买单集视频	818
				if (res.code == 0 && res.data) {
					uni.setStorageSync('danbu', res.data.value)
				}
			});
			// 微信激励广告id	252
			this.$u.get('/app/common/type/252').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('adUnitId', res.data.value)
				}
			});
			// 播放类型 1:抖音云 2:三方云
			this.$u.get('/app/common/type/821').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('playType', res.data.value)
				}
			});
			// 是否开启看广告（微信）	251
			this.$u.get('/app/common/type/251').then(res => {
				if (res.code == 0) {
					if (res.data && res.data.value) {
						uni.setStorageSync('isGuanggao', res.data.value)
					}
				}
			});
			// 是否开启看广告（抖音）	254
			this.$u.get('/app/common/type/254').then(res => {
				if (res.code == 0) {
					if (res.data && res.data.value) {
						uni.setStorageSync('isGuanggaody', res.data.value)
					}
				}
			});
			this.$u.get('/app/common/type/202').then(res => { //客服配置  1  二维码客服 2 微信公众号客服  3电话客服 
				if (res.code == 0 && res.data) {
					uni.setStorageSync('kefu', res.data.value)
				}
			});
			this.$u.get('/app/common/type/206').then(res => { //客服电话 
				if (res.code == 0 && res.data) {
					uni.setStorageSync('kefuPhone', res.data.value)
				}
			});
			this.$u.get('/app/common/type/204').then(res => { //微信客服链接 
				if (res.code == 0 && res.data) {
					uni.setStorageSync('kefuUrl', res.data.value)
				}
			});
			this.$u.get('/app/common/type/203').then(res => { //微信客服appid   
				if (res.code == 0 && res.data) {
					uni.setStorageSync('kefuAppId', res.data.value)
				}
			});
			//会员开关
			this.$u.get('/app/common/type/248').then(res => { //会员开关
				if (res.code == 0 && res.data) {
					uni.setStorageSync('isVips', res.data.value)
				}
			});
			//热搜词 249
			this.$u.get('/app/common/type/249').then(res => { //热搜词
				if (res.code == 0 && res.data) {
					uni.setStorageSync('moreSearch', res.data.value)
				}
			});
			//安卓下载地址 49
			this.$u.get('/app/common/type/49').then(res => { //热搜词
				if (res.code == 0 && res.data) {
					uni.setStorageSync('AppUrl', res.data.value)
				}
			});
			//微信虚拟支付OfferID 823
			this.$u.get('/app/common/type/823').then(res => { //热搜词
				if (res.code == 0 && res.data) {
					uni.setStorageSync('OfferID', res.data.value)
				}
			});
			//微信虚拟支付环境（0 米大师正式环境, 1 米大师沙箱环境） 824
			this.$u.get('/app/common/type/824').then(res => { //热搜词
				if (res.code == 0 && res.data) {
					uni.setStorageSync('payEnv', res.data.value)
				}
			});
			//充值提示 825
			this.$u.get('/app/common/type/825').then(res => { //热搜词
				if (res.code == 0 && res.data) {
					uni.setStorageSync('moneyTips', res.data.value)
				}
			});
			//是否开启卡密充值	855
			this.$u.get('/app/common/type/855').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('kmPaySel', res.data.value)
				}
			});
			//是否开启分类	849
			this.$u.get('/app/common/type/849').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('homeTypeSel', res.data.value)
				}
			});
			//是否开启收益充值余额	856
			this.$u.get('/app/common/type/856').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('syPaySel', res.data.value)
				}
			});
			//抖音im客服	857
			this.$u.get('/app/common/type/857').then(res => {
				if (res.code == 0 && res.data) {
					uni.setStorageSync('imId', res.data.value)
				}
			});
			this.$u.get('/app/common/type/858').then(res => { //是否开启公众号充值
				if (res.code == 0 && res.data) {
					uni.setStorageSync('isAccountPay', res.data.value)
				}
			});
			//抖音广告id
			this.$u.get('/app/common/type/860').then(res => { //抖音广告
				if (res.code == 0 && res.data) {
					uni.setStorageSync('dyadUnitId', res.data.value)
				}
			});

			// #ifdef H5
			if (!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
				//是否开启pc端使用	850
				this.$u.get('/app/common/type/850').then(res => {
					if (res.code == 0 && res.data && res.data.value === '否') {
						if (window.location.href.indexOf('/pages/me/erweimaRegister') === -1) {
							uni.reLaunch({
								url: '/pages/me/erweimaRegister'
							})
						}
					}
				});
			}
			// #endif


		},
		onHide: function() {
			console.log('App Hide')
		}
	}
</script>

<style lang="scss">
	/* 注意要写在第一行，同时给style标签加入lang="scss"属性 */
	@import "uview-ui/index.scss";
	@import 'components/colorui/main.css';
	@import 'components/colorui/icon.css';
</style>